//index.js
//获取应用实例
const app = getApp()

Page({
  data: {
    motto: 'Hello World',
    userInfo: {},
    hasUserInfo: false,
    canIUse: wx.canIUse('button.open-type.getUserInfo')
  },
  //事件处理函数
  bindViewTap: function() {
    wx.navigateTo({
      url: '../logs/logs'
    })
  },
  onLoad: function () {
    if (app.globalData.userInfo) {
      this.setData({
        userInfo: app.globalData.userInfo,
        hasUserInfo: true
      })
      wx.showToast({
        title: '微信已登录',
        icon: 'success',
        duration: 2000
      })
      setTimeout(function () {
        // wx.navigateTo({
        //   url: '/pages/login/login',
        // })
        wx.navigateTo({
          url: '../login/login',
        })
      }, 2000)
    } else if (this.data.canIUse){
      // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
      // 所以此处加入 callback 以防止这种情况
      app.userInfoReadyCallback = res => {
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
        wx.showToast({
          title: '微信已登录',
          icon: 'success',
          duration: 2000
        })
        setTimeout(function () {
          wx.navigateTo({
            url: '../login/login',
          })
        }, 2000)
      }
    } else {
      // 在没有 open-type=getUserInfo 版本的兼容处理
      wx.getUserInfo({
        success: res => {
          app.globalData.userInfo = res.userInfo
          this.setData({
            userInfo: res.userInfo,
            hasUserInfo: true
          })
        }
      })
    }
  },
  getUserInfo: function(e) {
    console.log(e)
    app.globalData.userInfo = e.detail.userInfo
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    }) 
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
        if (res.code) {
          wx.request({
            url: 'http://jddemo.ngrok2.xiaomiqiu.cn/user/wxlogin',
            method: 'POST',
            data: {
              code: res.code
            },
            header: {
              'content-type': 'application/x-www-form-urlencoded'
            },
            success(res) {
              console.log("openid:"+res.data.openid);
              console.log("session_key"+res.data.session_key)
              if (res.data.openid != "" || res.data.openid!=null){
                // 登录成功
                wx.setStorageSync("openid", res.data.openid);//将用户id保存到缓存中
                wx.setStorageSync("session_key", res.data.session_key);//将session_key保存到缓存中
                wx.showToast({
                  title: '微信登录成功',
                  icon: 'success',
                  duration: 2000
                })
                setTimeout(function () {
                  wx.switchTab({
                    url: '../login/login',
                  })
                }, 2000)
                
              }else{
                // 登录失败
                // TODO 跳转到错误页面，要求用户重试
                return false;
              }
            }
          })
        } else {
          console.log('获取用户登录态失败！' + res.errMsg)
        }
      }
    })
  }
})
